package com.cleaningcloud.cld.domain;

import com.cleaningcloud.common.core.web.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;

/**
 * packageName com.cleaningcloud.cld.domain
 *
 * @author Shaw
 * @version JDK 8
 * @className MaterialsBI
 * @date 2025-09-09
 * @description TODO
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class MaterialsBI extends BaseEntity {

    // ------------------------------公共参数------------------------------
    //日期值
    private String dateVal;
    //年月日
    private Integer dateYear;
    private Integer dateMonth;
    private Integer dateDay;

    // 参数值ID
    private int paramsId;
    // 参数值名称
    private String paramsName;
    // 参数值
    private BigDecimal rv;
    // 参数与实际差异
    private BigDecimal rvDiff;
    // 计划值
    private BigDecimal pv;
    // 计划与实际差异
    private BigDecimal pvDiff;
    // 三级库参数ID  0公司1项目2个人
    private Long wareType;

    //低值易耗
    private BigDecimal dz;
    //资产折旧
    private BigDecimal zj;
    //维修费用
    private BigDecimal wx;

    //参数类型  1数量2金额
    private int paramType;

    //类别ID
    private Long commodityTypeId;
    //类别名称
    private String commodityTypeName;
    //商品数量
    private Long commodityNumber;
    //商品金额
    private BigDecimal commodityMoney;
    //类别库存数量占比
    private BigDecimal commodityTypeRate;
    //公司库存数量
    private Long stockNumber;
    //公司库存金额
    private BigDecimal stockMoney;
    //项目库存数量
    private Long projectNumber;
    //项目库存金额
    private BigDecimal projectMoney;
    //个人库存数量
    private Long peopleNumber;
    //个人库存金额
    private BigDecimal  peopleMoney;

    //供应商ID
    private Long supplierId;
    //供应商名称
    private String supplierName;
    //供应商类型
    private String supplierType;

    //公司库存(数量/金额)物资类型占比
    private BigDecimal stockCommodityTypeRate;
    //项目库存(数量/金额)物资类型占比
    private BigDecimal projectCommodityTypeRate;
    //个人库存(数量/金额)物资类型占比
    private BigDecimal peopleCommodityTypeRate;

    //总订单数
    private Integer sumNumber;
    //总订单金额
    private BigDecimal sumMoney;
    //成功数
    private Integer successNumber;
    //成功额
    private Integer successMoney;
    //未成功数
    private Integer unSuccessNumber;
    //未成功额
    private Integer unSuccessMoney;
    //交付数
    private Integer deliverNumber;
    //未交付数
    private Integer unDeliverNumber;

    //项目ID
    private Long projectId;
    //项目名称
    private String projectName;
    //项目区域
    private String projectRegion;
    //业态占比
    private BigDecimal businessRate;
    //业态名称
    private String projectBusiness;

    //维修占比
    private BigDecimal repairRate;
    //调拨占比
    private BigDecimal allocateRate;
    //资产ID
    private Long assetsId;
    //资产名称
    private String assetsName;
    //资产型号
    private String assetsModel;
    //资产图片
    private String assetsImg;
    //资产数量
    private Integer assetsNumber;

    //原值
    private BigDecimal originalMoney;
    //净值
    private BigDecimal worthMoney;
    //折旧
    private BigDecimal depreciationMoney;
    //增值
    private BigDecimal addednMoney;
    //新机
    private Integer newNumber;
    //投放
    private Integer launchNumber;
    //闲置
    private Integer leaveNumber;
    //维修
    private Integer repairNumber;
    //维修金额
    private BigDecimal repairMoney;
    //维修总金额
    private BigDecimal sumRepairMoney;




    private int allocateNumber;
    private int peakValue;

    //清洁工具数量
    private Integer qjgjNumber;
    //清洁工具配送峰值
    private Integer qjgjPeakValue;
    //清洁工具金额
    private BigDecimal qjgjMoney;

    //清洁药剂数量
    private Integer qjyjNumber;
    //清洁药剂配送峰值
    private Integer qjyjPeakValue;
    //清洁药剂金额
    private BigDecimal qjyjMoney;

    //垃圾处置数量
    private Integer ljczNumber;
    //垃圾处置配送峰值
    private Integer ljczPeakValue;
    //垃圾处置金额
    private BigDecimal ljczMoney;

    //承载收纳数量
    private Integer czsnNumber;
    //承载收纳配送峰值
    private Integer czsnPeakValue;
    //承载收纳金额
    private BigDecimal czsnMoney;

    //机械配件数量
    private Integer jxpjNumber;
    //机械配件配送峰值
    private Integer jxpjPeakValue;
    //机械配件金额
    private BigDecimal jxpjMoney;

    //客用品数量
    private Integer keypNumber;
    //客用品配送峰值
    private Integer keypPeakValue;
    //客用品金额
    private BigDecimal keypMoney;

    //劳保用品数量
    private Integer lbypNumber;
    //劳保用品配送峰值
    private Integer lbypPeakValue;
    //劳保用品金额
    private BigDecimal lbypMoney;

    //其他用品数量
    private Integer qtNumber;
    //其他配送峰值
    private Integer qtPeakValue;
    //其他用品金额
    private BigDecimal qtMoney;
}